<!doctype html>
<html lang="zh-cn">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
		<meta name="format-detection" content="telephone=no" />
		<title>反诈小博士</title>
		<script>
			(function(W) {
				var isdspeed = {
					init: function(opts) {
						this.url = opts.isdspeedUrl;
						this.initAt = new Date();
						this.reset();
						delete this['init'];
					},
					hit: function(id, relativeToInitTime) {
						this.stopAt = new Date();
						var duration = relativeToInitTime ? (this.stopAt - this.initAt) : (this.stopAt - this
							.startAt);
						this.save(id, duration);
						this.reset();
						return this;
					},
					save: function(id, value) {
						this.data[id] = value;
					},
					reset: function() {
						this.startAt = new Date();
						this.stopAt = new Date();
					},
					data: {},
					report: function() {
						if (!this.url) {
							return;
						}
						var dataStr = [];
						for (var c in this.data) {
							dataStr.push(c + "=" + this.data[c]);
						};
						(new Image()).src = this.url + '&' + dataStr.join('&');
					}
				};

				W["ISDSpeed"] = isdspeed;

			})(window);
			ISDSpeed.init({
				isdspeedUrl: 'http://ly522.com/weixin/duxinshu/'
			});
		</script>
		<style>
			/*! *  QQ_HERO v0.1.1 - 5/9/2014 *  http://www.wenzhangku.com/weixin/duxinshu/ *  Copyright (c) 2014 LevinWong - Licensed MIT  */
			* {
				-webkit-box-sizing: border-box;
				-moz-box-sizing: border-box;
				box-sizing: border-box
			}

			body,
			html {
				height: 100%
			}

			body,
			ul,
			li,
			h1,
			h2,
			h3,
			img,
			p,
			div {
				padding: 0;
				margin: 0;
				border: 0;
				list-style: none
			}

			i {
				font-style: normal
			}

			body {
				overflow: hidden;
				font-size: 14px;
				background-color: #f2f2f2
			}

			.ivalign {
				position: relative;
				top: 50%;
				-webkit-transform: translateY(-50%);
				-ms-transform: translateY(-50%);
				transform: translateY(-50%)
			}

			.hide {
				display: none
			}

			.btn {
				display: inline-block;
				padding: 10px 20px;
				color: #fff;
				font-size: 18px;
				text-align: center;
				background-color: #00a4f1;
				border: 1px solid #42cdf5;
				text-decoration: none;
				border-radius: 20px;
				-webkit-border-radius: 20px;
				box-shadow: 0 -2px rgba(66, 205, 245, .35) inset, 0 -1px rgba(66, 205, 245, .15) inset, 0 1px 1px rgba(66, 205, 245, .12), 0 -1px 1px rgba(255, 255, 255, .8) inset;
				-webkit-box-shadow: 0 -2px rgba(66, 205, 245, .35) inset, 0 -1px rgba(66, 205, 245, .15) inset, 0 1px 1px rgba(66, 205, 245, .12), 0 -1px 1px rgba(255, 255, 255, .8) inset
			}

			.btn-block {
				display: block;
				padding-left: 0;
				padding-right: 0;
				margin-left: 30px;
				margin-right: 30px
			}

			.btn-style1 {
				background-color: #71b408;
				border-color: #a9cc72;
				box-shadow: 0 -2px rgba(169, 204, 114, .35) inset, 0 -1px rgba(169, 204, 114, .15) inset, 0 1px 1px rgba(169, 204, 114, .12), 0 -1px 1px rgba(169, 204, 114, .8) inset;
				-webkit-box-shadow: 0 -2px rgba(169, 204, 114, .35) inset, 0 -1px rgba(169, 204, 114, .15) inset, 0 1px 1px rgba(169, 204, 114, .12), 0 -1px 1px rgba(169, 204, 114, .8) inset
			}

			.btn-style2 {
				background-color: #6706d0;
				border-color: #6706d0;
				box-shadow: none;
				-webkit-box-shadow: none;
				border-radius: 6px;
				-webkit-border-radius: 6px;
				padding-top: 6px;
				padding-bottom: 6px
			}

			.spr {
				display: inline-block;
				background-image: url(./images/spr.png);
				background-repeat: no-repeat;
				background-size: 125px
			}

			.spr-logo {
				width: 121px;
				height: 34px;
				background-position: 0 -92px
			}

			.spr-spirit {
				width: 50px;
				height: 50px;
				background-position: 0 0
			}

			.spr-bubble {
				width: 109px;
				height: 33px;
				background-position: 0 -54px
			}

			.spr-shadow {
				width: 39px;
				height: 7px;
				background-position: -60px 0
			}

			.spr-arr {
				width: 39px;
				height: 20px;
				background-position: -60px -12px
			}

			.spr-arr2 {
				width: 42px;
				height: 85px;
				background-position: 0 -137px
			}

			.spr-card1,
			.spr-card2,
			.spr-card3,
			.spr-card4 {
				display: inline-block;
				background-image: url(./images/poker1.jpg);
				background-repeat: no-repeat;
				background-size: 475px
			}

			.spr-card3,
			.spr-card4 {
				background-image: url(./images/poker2.jpg)
			}

			.poker,
			.spr-card1,
			.spr-card2,
			.spr-card3,
			.spr-card4 {
				width: 229px;
				height: 211px
			}

			.spr-card1 {
				background-position: 0 0
			}

			.spr-card2 {
				background-position: -240px 0
			}

			.spr-card3 {
				background-position: 0 0
			}

			.spr-card4 {
				background-position: -240px 0
			}

			.wrapper,
			.wrapper1 {
				position: absolute;
				z-index: 1;
				width: 100%;
				height: 100%;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				overflow: hidden;
				-ms-touch-action: none;
				-webkit-touch-callout: none;
				-webkit-user-select: none;
				-moz-user-select: none;
				-ms-user-select: none;
				user-select: none;
				-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
				-webkit-text-size-adjust: none;
				-moz-text-size-adjust: none;
				-ms-text-size-adjust: none;
				-o-text-size-adjust: none;
				text-size-adjust: none
			}

			.deck {
				position: relative;
				z-index: 10;
				width: 100%;
				height: 100%
			}

			.cover {
				position: absolute;
				z-index: 100;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: #f2f2f2
			}

			.cover_ft {
				position: absolute;
				left: 0;
				bottom: 0;
				width: 100%;
				height: 65px;
				background-color: #fff;
				text-align: center
			}

			.cover_ft .spr-logo {
				margin-top: 15px
			}

			.ani-hide {
				display: none
			}

			.card {
				position: absolute;
				width: 100%;
				height: 100%;
				overflow: hidden;
				z-index: 10;
				text-align: center;
				-webkit-transform: translateZ(0);
				-moz-transform: translateZ(0);
				-ms-transform: translateZ(0);
				-o-transform: translateZ(0);
				transform: translateZ(0)
			}

			.card-bd {
				margin-left: auto;
				margin-right: auto;
				max-width: 320px
			}

			.card img {
				max-width: 100%
			}

			.card2,
			.card3,
			.card7 {
				background-color: #672abc
			}

			.card4 {
				background-color: #7aad20
			}

			.card5 {
				background-color: #e46339
			}

			.card6 {
				background-color: #06baae
			}

			.card8 {
				background-color:#672abc
			}

			.wrapper1 {
				overflow: auto
			}

			.wrapper1 .card {
				position: relative
			}

			.loader {
				height: 105px;
				width: 105px;
				margin: 0 auto;
				text-align: center;
				position: relative
			}

			.loader-tip {
				margin-top: 12px;
				color: #755d3d;
				font-weight: 700
			}

			.spr-spirit {
				position: relative;
				z-index: 2
			}

			.spr-shadow {
				position: absolute;
				z-index: 1;
				top: 48px;
				left: 32px
			}

			.loader-progress {
				display: inline-block;
				padding: 2px 8px;
				margin-top: 5px;
				border-radius: 12px;
				background-color: #97783a;
				font-size: 18px;
				color: #fff;
				min-width: 52px
			}

			.bubble {
				opacity: 0;
				position: absolute;
				top: 294px;
				left: 178px
			}

			.highAndroid .bubble,
			.highIPhone .bubble {
				-webkit-transition: all .2s ease-out;
				transition: all .2s ease-out
			}

			.bubble_on {
				opacity: 1
			}

			.arr {
				position: absolute;
				top: 428px;
				left: 50%;
				margin-left: -33px;
				z-index: 12;
				width: 70px;
				height: 45px;
				text-align: center;
				font-size: 14px;
				color: #fff
			}

			.arr .spr-arr {
				display: block;
				margin-top: 7px;
				margin-left: auto;
				margin-right: auto
			}

			.poker {
				position: absolute;
				top: 170px;
				left: 50%;
				margin-left: -114px
			}

			.poker3,
			.poker4 {
				display: none
			}

			.poker_toggle .poker3,
			.poker_toggle .poker4 {
				display: block
			}

			.poker_toggle .poker1,
			.poker_toggle .poker2 {
				display: none
			}

			.sns-acts {
				position: absolute;
				z-index: 2;
				top: 280px;
				left: 0;
				width: 100%;
				text-align: center
			}

			.sns-acts .btn {
				margin-bottom: 10px
			}

			.btn_share {
				display: none
			}

			.env_wx .btn_share {
				display: block
			}

			.env_wx .btn_copy {
				display: none
			}

			.sns-tip {
				font-size: 12px;
				color: #d8a5ff;
				text-align: center;
				padding-top: 20px
			}

			.tip {
				position: fixed;
				z-index: 200;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%
			}

			.tip_bg {
				position: absolute;
				z-index: 1;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, .5)
			}

			.tip_bd {
				margin: 0 15px;
				padding: 20px;
				background-color: #fff;
				color: #333;
				font-size: 18px;
				position: relative;
				z-index: 2;
				border-radius: 6px;
				-webkit-border-radius: 6px
			}

			.tip_acts {
				margin-top: 12px;
				text-align: center
			}

			.tip_txterr {
				display: none
			}

			.tip_err .tip_txterr {
				display: block
			}

			.tip_err .tip_txtok {
				display: none
			}

			.c_txt1 {
				color: #d34bff
			}

			.sharetip {
				position: fixed;
				z-index: 200;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				text-align: right;
				background-color: rgba(0, 0, 0, .85)
			}

			.sharetip .spr-arr2 {
				margin-right: 15px;
				margin-top: 35px
			}

			.sharetip_txt {
				font-size: 24px;
				padding-right: 15px;
				color: #fff
			}

			.sharetip_txt1 {
				padding-bottom: 10px;
				padding-top: 15px
			}

			.toptip {
				position: absolute;
				z-index: 201;
				top: 0;
				left: 0;
				width: 100%;
				height: 36px;
				line-height: 36px;
				font-size: 16px;
				text-align: center;
				color: #333;
				background-color: #fff;
				-webkit-transition: all .2s ease-out;
				transition: all .2s ease-out
			}

			.ani-slideup {
				-webkit-transform: translateY(-100%);
				transform: translateY(-100%);
				opacity: 0
			}

			.toptip_txt2 {
				display: none
			}

			.card8_active .toptip_txt2 {
				display: inline
			}

			.card8_active .toptip_txt1 {
				display: none
			}

			@media only screen and (max-device-width:321px) {
				.card-bd {
					-webkit-transform: translateY(-47%);
					-ms-transform: translateY(-47%);
					transform: translateY(-47%)
				}

				.arr {
					top: 415px
				}
			}

			@-webkit-keyframes ani-arr {

				0%,
				30% {
					opacity: 0;
					-webkit-transform: translate(0, 5px)
				}

				60% {
					opacity: 1;
					-webkit-transform: translate(0, 0)
				}

				100% {
					opacity: 0;
					-webkit-transform: translate(0, -7px)
				}
			}

			@keyframes ani-arr {

				0%,
				30% {
					opacity: 0;
					transform: translate(0, 5px)
				}

				60% {
					opacity: 1;
					transform: translate(0, 0)
				}

				100% {
					opacity: 0;
					transform: translate(0, -7px)
				}
			}
		</style>
		<script>
			ISDSpeed.hit(1, true);
		</script>
	</head>
	<body>
		<div id="wrapper" class="wrapper">
			<ul id="deck" class="deck">
				<li class="card"></li>
				<li class="card"></li>
				<li class="card"></li>
			</ul>
		</div>
		<div id="deck0" class="cover">
			<div id="loader" class="loader ivalign"> <i class="spr spr-spirit"></i> <i class="spr spr-shadow"></i>
				<div class="loader-tip">读心术准备中</div>
				<div id="progress" class="loader-progress">0%</div>
			</div>
			<div class="cover_ft">
				<div class="spr spr-logo"></div>
			</div>
		</div>
		<div id="tip" class="tip hide">
			<div class="tip_bg"></div>
			<div class="tip_bd ivalign">
			<!-- 	<div id="tipTxt" class="tip_txt">复制链接成功,快发给朋友们吧！</div> -->
				<div class="tip_acts"> <a id="btnCloseTip" class="btn btn-block btn-style2">知道了</a> </div>
			</div>
		</div>
		<div id="shareTip" class="sharetip hide">
			<div class="spr spr-arr2"></div>
			<div class="sharetip_txt sharetip_txt1"> 点击上面按钮 </div>
			<!-- <div class="sharetip_txt"> 再<span class="c_txt1">分享到朋友圈</span> </div> -->
		</div>
		<div id="topTip" class="toptip ani-slideup"><span class="toptip_txt1">只能往下翻哦！</span><span
				class="toptip_txt2">最后一页了哦！</span></div>
		<script id="tplC2" type="text/js-tpl">
			<div class="card-bd ivalign">
            <img src="./images/2.jpg" alt="反诈卫士"/>
            <div id="bubble" class="bubble">
                <i class="spr spr-bubble"></i>
            </div>
            <div class="arr">开始读心<div class="spr spr-arr"></div></div>
        </div>
    </script>
		<script id="tplC3" type="text/js-tpl">
			<div class="card-bd ivalign">
            <img src="./images/3.jpg" alt="全民怪兽"/>
            <div id="poker1" class="poker poker1">
                <i class="spr spr-card1"></i>
            </div>
            <div id="poker3" class="poker poker3">
                <i class="spr spr-card3"></i>
            </div>
            <div class="arr">继续<div class="spr spr-arr"></div></div>
        </div>
    </script>
		<script id="tplC4" type="text/js-tpl">
			<div class="card-bd ivalign">
            <img src="./images/4.jpg" alt="全民怪兽"/>
            <div class="arr">继续<div class="spr spr-arr"></div></div>
        </div>
    </script>
		<script id="tplC5" type="text/js-tpl">
			<div class="card-bd ivalign">
            <img src="./images/5.jpg" alt="全民怪兽"/>
            <div class="arr">继续<div class="spr spr-arr"></div></div>
        </div>
    </script>
		<script id="tplC6" type="text/js-tpl">
			<div class="card-bd ivalign">
            <img src="./images/6.jpg" alt="全民怪兽"/>
            <div class="arr">继续<div class="spr spr-arr"></div></div>
        </div>
    </script>
		<script id="tplC7" type="text/js-tpl">
			<div class="card-bd ivalign">
            <img src="./images/7.jpg" alt="全民怪兽"/>
            <div id="poker2" class="poker poker2">
                <i class="spr-card2"></i>
            </div>
            <div id="poker4" class="poker poker4">
                <i class="spr-card4"></i>
            </div>
            <div class="arr">继续<div class="spr spr-arr"></div></div>
        </div>
    </script>
		<script id="tplC8" type="text/js-tpl">
			<div class="card-bd ivalign">
            <img src="./images/8.jpg" alt="全民怪兽"/>

            <div id="snsActions" class="sns-acts">
                <a id="btnShare" class="btn btn-block btn_share">转发到朋友圈</a>
                <a id="btnRetry" class="btn btn-block btn-style1">再试一次</a>
				<a id="btnCopy" href="青年.html" >退出</a>
           
				
            </div>
			
        </div>
		
  </script>
		<script>
			ISDSpeed.hit(0);
		</script>
		<script>
			"document" in self && !("classList" in document.createElement("_")) && ! function(a) {
					"use strict";
					if ("Element" in a) {
						var b = "classList",
							c = "prototype",
							d = a.Element[c],
							e = Object,
							f = String[c].trim || function() {
								return this.replace(/^\s+|\s+$/g, "")
							},
							g = Array[c].indexOf || function(a) {
								for (var b = 0, c = this.length; c > b; b++)
									if (b in this && this[b] === a) return b;
								return -1
							},
							h = function(a, b) {
								this.name = a, this.code = DOMException[a], this.message = b
							},
							i = function(a, b) {
								if ("" === b) throw new h("SYNTAX_ERR", "An invalid or illegal string was specified");
								if (/\s/.test(b)) throw new h("INVALID_CHARACTER_ERR", "String contains an invalid character");
								return g.call(a, b)
							},
							j = function(a) {
								for (var b = f.call(a.getAttribute("class") || ""), c = b ? b.split(/\s+/) : [], d = 0, e = c
										.length; e > d; d++) this.push(c[d]);
								this._updateClassName = function() {
									a.setAttribute("class", this.toString())
								}
							},
							k = j[c] = [],
							l = function() {
								return new j(this)
							};
						if (h[c] = Error[c], k.item = function(a) {
								return this[a] || null
							}, k.contains = function(a) {
								return a += "", -1 !== i(this, a)
							}, k.add = function() {
								var a, b = arguments,
									c = 0,
									d = b.length,
									e = !1;
								do a = b[c] + "", -1 === i(this, a) && (this.push(a), e = !0); while (++c < d);
								e && this._updateClassName()
							}, k.remove = function() {
								var a, b = arguments,
									c = 0,
									d = b.length,
									e = !1;
								do {
									a = b[c] + "";
									var f = i(this, a); - 1 !== f && (this.splice(f, 1), e = !0)
								} while (++c < d);
								e && this._updateClassName()
							}, k.toggle = function(a, b) {
								a += "";
								var c = this.contains(a),
									d = c ? b !== !0 && "remove" : b !== !1 && "add";
								return d && this[d](a), !c
							}, k.toString = function() {
								return this.join(" ")
							}, e.defineProperty) {
							var m = {
								get: l,
								enumerable: !0,
								configurable: !0
							};
							try {
								e.defineProperty(d, b, m)
							} catch (n) {
								-2146823252 === n.number && (m.enumerable = !1, e.defineProperty(d, b, m))
							}
						} else e[c].__defineGetter__ && d.__defineGetter__(b, l)
					}
				}(self),
				function(a) {
					function b(a) {
						var b = this.os = {},
							c = this.browser = {},
							d = a.match(/Web[kK]it[\/]{0,1}([\d.]+)/),
							e = a.match(/(Android);?[\s\/]+([\d.]+)?/),
							f = !!a.match(/\(Macintosh\; Intel /),
							g = a.match(/(iPad).*OS\s([\d_]+)/),
							h = a.match(/(iPod)(.*OS\s([\d_]+))?/),
							i = !g && a.match(/(iPhone\sOS)\s([\d_]+)/),
							j = a.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),
							k = j && a.match(/TouchPad/),
							l = a.match(/Kindle\/([\d.]+)/),
							m = a.match(/Silk\/([\d._]+)/),
							n = a.match(/(BlackBerry).*Version\/([\d.]+)/),
							o = a.match(/(BB10).*Version\/([\d.]+)/),
							p = a.match(/(RIM\sTablet\sOS)\s([\d.]+)/),
							q = a.match(/PlayBook/),
							r = a.match(/Chrome\/([\d.]+)/) || a.match(/CriOS\/([\d.]+)/),
							s = a.match(/Firefox\/([\d.]+)/),
							t = a.match(/MSIE\s([\d.]+)/) || a.match(/Trident\/[\d](?=[^\?]+).*rv:([0-9.].)/),
							u = !r && a.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/),
							v = u || a.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/);
						(c.webkit = !!d) && (c.version = d[1]), e && (b.android = !0, b.version = e[2]), i && !h && (b.ios = b
								.iphone = !0, b.version = i[2].replace(/_/g, ".")), g && (b.ios = b.ipad = !0, b.version = g[2]
								.replace(/_/g, ".")), h && (b.ios = b.ipod = !0, b.version = h[3] ? h[3].replace(/_/g, ".") :
								null), j && (b.webos = !0, b.version = j[2]), k && (b.touchpad = !0), n && (b.blackberry = !0, b
								.version = n[2]), o && (b.bb10 = !0, b.version = o[2]), p && (b.rimtabletos = !0, b.version = p[
								2]), q && (c.playbook = !0), l && (b.kindle = !0, b.version = l[1]), m && (c.silk = !0, c
								.version = m[1]), !m && b.android && a.match(/Kindle Fire/) && (c.silk = !0), r && (c.chrome = !
								0, c.version = r[1]), s && (c.firefox = !0, c.version = s[1]), t && (c.ie = !0, c.version = t[
							1]), v && (f || b.ios) && (c.safari = !0, f && (c.version = v[1])), u && (c.webview = !0), b
							.tablet = !!(g || q || e && !a.match(/Mobile/) || s && a.match(/Tablet/) || t && !a.match(/Phone/) &&
								a.match(/Touch/)), b.phone = !(b.tablet || b.ipod || !(e || i || j || n || o || r && a.match(
								/Android/) || r && a.match(/CriOS\/([\d.]+)/) || s && a.match(/Mobile/) || t && a.match(
								/Touch/)))
					}
					b.call(a, navigator.userAgent), a.__detect = b
				}(window.Zepto || window.jQuery || window),
				function(a) {
					function b(a, b) {
						if (null != a) {
							b = b || ".";
							var c = a.split(b);
							return c = c.shift() + "." + c.join(""), parseFloat(c)
						}
					}
					a.os.fVersion = b(a.os.version);
					var c = "",
						d = document.querySelector("html");
					a.os.ios ? (c = "ios ios" + a.os.version.replace(/\./gi, "_"), c += a.os.fVersion < 6 ? " lowIPhone" :
						" highIPhone") : a.os.android && (c = "android android" + a.os.version.replace(/\./gi, "_"), c += a
						.os.fVersion < 4 ? " lowAndroid" : " highAndroid"), c && d.classList.add.apply(d.classList, c.split(
						" "))
				}(window.Zepto || window.jQuery || window);
			var CardView = function(a, b, c) {
				function d(a, d) {
					this.wrapper = "string" == typeof a ? b.querySelector(a) : a, this.deck = this.wrapper = this.wrapper
						.children[0], this.cards = this.deck.querySelectorAll(".card"), this.options = {
							direction: "v",
							effect: "rotate",
							startPage: 0,
							deg: 25,
							duration: .28,
							perspective: "300px",
							resizePolling: 100,
							preventGoBack: !1,
							cycle: !0,
							onTouchMove: function() {
								return !0
							},
							dataset: [],
							onUpdateContent: function() {},
							HWCompositing: !0
						};
					for (var f in d) this.options[f] = d[f];
					this.translateZ = this.options.HWCompositing && e.hasPerspective ? " translateZ(0)" : "", this.options
						.direction = "v" != this.options.direction && "vertical" != this.options.direction ? "h" : "v", this
						.effect = "rotate" == this.options.effect || "zoom" == this.options.effect || "slide" == this.options
						.effect ? "_effect" + this.options.effect.charAt(0).toUpperCase() + this.options.effect.slice(1) :
						"_effectRotate", this.page = 0, this.pageCount = c.max(this.options.dataset.length, 3), this.wrapper
						.style[e.style.perspective] = this.options.perspective;
					for (var f = 0; 3 > f; f++) this.cards[f].style[e.style.transformOrigin] = "_effectZoom" == this.effect ?
						"50% 50%" : "0 100%", this.cards[f].style[e.style.transitionTimingFunction] = "ease-out";
					this.refresh(), this.goToPage(this.options.startPage), this._initEvents(), this.enable()
				}
				var e = (a.requestAnimationFrame || a.webkitRequestAnimationFrame || a.mozRequestAnimationFrame || a
					.oRequestAnimationFrame || a.msRequestAnimationFrame || function(b) {
						a.setTimeout(b, 1e3 / 60)
					},
					function() {
						function c(a) {
							return f === !1 ? !1 : "" === f ? a : f + a.charAt(0).toUpperCase() + a.substr(1)
						}
						var d = {},
							e = b.createElement("div").style,
							f = function() {
								for (var a, b = ["t", "webkitT", "MozT", "msT", "OT"], c = 0, d = b.length; d > c; c++)
									if (a = b[c] + "ransform", a in e) return b[c].substr(0, b[c].length - 1);
								return !1
							}();
						d.getTime = Date.now || function() {
							return (new Date).getTime()
						}, d.extend = function(a, b) {
							for (var c in b) a[c] = b[c]
						}, d.addEvent = function(a, b, c, d) {
							a.addEventListener(b, c, !!d)
						}, d.removeEvent = function(a, b, c, d) {
							a.removeEventListener(b, c, !!d)
						};
						var g = c("transform");
						return d.extend(d, {
							hasTransform: g !== !1,
							hasPerspective: c("perspective") in e,
							hasTouch: "ontouchstart" in a,
							hasPointer: navigator.msPointerEnabled,
							hasTransition: c("transition") in e
						}), d.extend(d.style = {}, {
							transform: g,
							transitionTimingFunction: c("transitionTimingFunction"),
							transitionDuration: c("transitionDuration"),
							transformOrigin: c("transformOrigin"),
							perspective: c("perspective"),
							transformStyle: c("transformStyle")
						}), d.extend(d.eventType = {}, {
							touchstart: 1,
							touchmove: 1,
							touchend: 1,
							mousedown: 2,
							mousemove: 2,
							mouseup: 2,
							MSPointerDown: 3,
							MSPointerMove: 3,
							MSPointerUp: 3
						}), d.tap = function(a, c) {
							var d = b.createEvent("Event");
							d.initEvent(c, !0, !0), d.pageX = a.pageX, d.pageY = a.pageY, a.target.dispatchEvent(d)
						}, d
					}());
				return d.prototype = {
					handleEvent: function(a) {
						switch (a.type) {
							case "touchstart":
							case "MSPointerDown":
							case "mousedown":
								this._start(a);
								break;
							case "touchmove":
							case "MSPointerMove":
							case "mousemove":
								this._move(a);
								break;
							case "touchend":
							case "MSPointerUp":
							case "mouseup":
							case "touchcancel":
							case "MSPointerCancel":
							case "mousecancel":
								this._end(a);
								break;
							case "orientationchange":
							case "resize":
								this._resize();
								break;
							case "transitionend":
							case "webkitTransitionEnd":
							case "oTransitionEnd":
							case "MSTransitionEnd":
								this._transitionEnd(a);
								break;
							case "DOMMouseScroll":
							case "mousewheel":
								break;
							case "keydown":
						}
					},
					_initEvents: function(b) {
						var c = b ? e.removeEvent : e.addEvent;
						c(a, "orientationchange", this), c(a, "resize", this), c(this.wrapper, "mousedown", this), c(
								a, "mousemove", this), c(a, "mousecancel", this), c(a, "mouseup", this), e
							.hasPointer && (c(this.wrapper, "MSPointerDown", this), c(a, "MSPointerMove", this), c(a,
								"MSPointerCancel", this), c(a, "MSPointerUp", this)), e.hasTouch && (c(this.wrapper,
								"touchstart", this), c(a, "touchmove", this), c(a, "touchcancel", this), c(a,
								"touchend", this))
					},
					destroy: function() {
						this._initEvents(!0), e.removeEvent(this.cards[this.currCard], "transitionend", this), e
							.removeEvent(this.cards[this.currCard], "webkitTransitionEnd", this), e.removeEvent(this
								.cards[this.currCard], "oTransitionEnd", this), e.removeEvent(this.cards[this
								.currCard], "MSTransitionEnd", this)
					},
					refresh: function() {
						this.wrapperSize = "v" == this.options.direction ? this.wrapper.offsetHeight : this.wrapper
							.offsetWidth
					},
					_resize: function() {
						clearTimeout(this.resizeTimeout), this.resizeTimeout = setTimeout(this.refresh.bind(this),
							this.options.resizePolling)
					},
					_start: function(a) {
						if (!(1 != e.eventType[a.type] && 0 !== a.button || !this.enabled || this.initiated && e
								.eventType[a.type] !== this.initiated)) {
							var b = a.touches ? a.touches[0] : a;
							this.direction = 0, this.lockedDirection = 0, this.cardToMove = void 0, this.cardToStay =
								void 0, this.flipped = !1, this.moved = !1, this.initiated = e.eventType[a.type],
								this.startTime = e.getTime(), this.startX = b.pageX, this.startY = b.pageY
						}
					},
					_move: function(a) {
						if (this.enabled && e.eventType[a.type] === this.initiated) {
							var b, d, f = a.touches ? a.touches[0] : a;
							b = "h" == this.options.direction ? -(f.pageX - this.startX) : f.pageY - this.startY, d =
								c.abs(b), this.direction = -b / d, 10 > d || this.options.onTouchMove.call(this) && (
									this.options.preventGoBack && this.direction <= 0 || (this.options.cycle || !(
										this.direction <= 0 && 0 === this.page || this.direction > 0 && this
										.page === this.pageCount - 1)) && (this.moved = !0, a.preventDefault(), a
										.stopPropagation(), (this.direction != this.lockedDirection || void 0 ===
											this.cardToMove) && (this.cardToMove = this.direction > 0 ? this
											.nextCard : this.currCard, this.lockedDirection = this.direction, this[
												this.effect + "Init"]()), d < this.wrapperSize / 3 ? this[this
											.effect + "Move"](b) : (this.flipped = !0, this[this.effect + "Close"](
											b))))
						}
					},
					_end: function(a) {
						if (this.enabled && e.eventType[a.type] === this.initiated && (this.initiated = 0, this
								.moved)) {
							this.disable(), this[this.effect + "End"]();
							var b = this.cards[this.cardToMove];
							e.addEvent(b, "transitionend", this), e.addEvent(b, "webkitTransitionEnd", this), e
								.addEvent(b, "oTransitionEnd", this), e.addEvent(b, "MSTransitionEnd", this)
						}
					},
					_transitionEnd: function(a) {
						if (a.target == this.cards[this.cardToMove]) {
							if (e.removeEvent(this.cards[this.cardToMove], "transitionend", this), e.removeEvent(this
									.cards[this.cardToMove], "webkitTransitionEnd", this), e.removeEvent(this.cards[
									this.cardToMove], "oTransitionEnd", this), e.removeEvent(this.cards[this
									.cardToMove], "MSTransitionEnd", this), this.cards[this.currCard].style[e.style
									.transitionDuration] = "0s", this.cards[this.prevCard].style[e.style
									.transitionDuration] = "0s", this.cards[this.nextCard].style[e.style
									.transitionDuration] = "0s", !this.flipped) return void this.enable();
							this.page += this.direction, this.page >= this.pageCount ? this.page = 0 : this.page <
								0 && (this.page = this.pageCount - 1), this.currCard += this.direction, this
								.currCard >= 3 ? this.currCard = 0 : this.currCard < 0 && (this.currCard = 2), this
								.prevCard = this.currCard - 1, this.prevCard < 0 && (this.prevCard = 2), this
								.nextCard = this.currCard + 1, 3 == this.nextCard && (this.nextCard = 0), this
								._arrangeCards(), this._updateContent()
						}
					},
					_arrangeCards: function() {
						this.cards[this.currCard].style.zIndex = "100", this.cards[this.nextCard].style.zIndex =
							"101", this.cards[this.prevCard].style.zIndex = "99", this.cards[this.currCard].style[e
								.style.transform] = "translate(0,0)" + this.translateZ, this.cards[this.prevCard]
							.style[e.style.transform] = "translate(" + ("v" == this.options.direction ? "100%,0" :
								"0,100%") + ")" + this.translateZ, this.cards[this.nextCard].style[e.style
							.transform] = "translate(" + ("v" == this.options.direction ? "0,100%" : "100%,0") +
							")" + this.translateZ
					},
					_updateContent: function() {
						var a = this.page + this.direction,
							b = this.direction > 0 ? this.nextCard : this.prevCard;
						0 > a ? a = this.pageCount - 1 : a >= this.pageCount && (a = 0), this.options
							.onUpdateContent(this.cards[b], this.options.dataset[a], this), this.enable()
					},
					goToPage: function(a) {
						"last" == a ? a = this.pageCount - 1 : "prev" == a ? a-- : "next" == a && a++, 0 > a ? a =
							0 : a >= this.pageCount && (a = this.pageCount - 1);
						var b = a - 1,
							c = a + 1;
						0 > b && (b = this.pageCount - 1), c >= this.pageCount && (c = 0), this.prevCard = 2, this
							.currCard = 0, this.nextCard = 1, this.page = a, this.options.onUpdateContent(this.cards[
								this.currCard], this.options.dataset[a], this), this.options.onUpdateContent(this
								.cards[this.nextCard], this.options.dataset[c], this), this.options.onUpdateContent(
								this.cards[this.prevCard], this.options.dataset[b], this), this._arrangeCards()
					},
					enable: function() {
						this.enabled = !0
					},
					disable: function() {
						this.enabled = !1
					},
					_effectRotateInit: function() {
						this.direction < 0 ? "v" == this.options.direction ? (this.cardToMove = this.currCard, this
							.cardToStay = this.prevCard) : (this.cardToMove = this.currCard, this.cardToStay =
							this.prevCard) : "v" == this.options.direction ? (this.cardToMove = this.nextCard,
							this.cardToStay = this.currCard) : (this.cardToMove = this.nextCard, this
							.cardToStay = this.currCard);
						var a = this.cards[this.cardToStay].style;
						this.direction < 0 ? a[e.style.transform] = "v" == this.options.direction ?
							"rotateX(0deg) translate(100%,0)" + this.translateZ : "rotateY(" + this.options.deg +
							"deg) translate(0,0)" + this.translateZ : "v" == this.options.direction && (a[e.style
									.transform] = "rotateX(" + this.options.deg + "deg) translate(0,0)" + this
								.translateZ)
					},
					_effectRotateEnd: function() {
						var a = this.cards[this.cardToMove].style,
							b = this.cards[this.cardToStay].style;
						a[e.style.transitionDuration] = this.options.duration + "s", b[e.style.transitionDuration] =
							this.options.duration + "s", this.direction > 0 ? "v" == this.options.direction ? (a[e
								.style.transform] = "rotateX(0deg) translate(0,100%)" + this.translateZ, b[e
								.style.transform] = "rotateX(0deg)" + this.translateZ) : (a[e.style.transform] =
								"rotateY(-" + this.options.deg + "deg) translate(-100%,0)" + this.translateZ, b[e
									.style.transform] = "rotateY(0deg)" + this.translateZ) : "v" == this.options
							.direction ? (a[e.style.transform] = "rotateX(0deg) translate(0,0)" + this.translateZ, b[
								e.style.transform] = "rotateX(" + this.options.deg + "deg)" + this.translateZ) : (a[e
								.style.transform] = "rotateY(0deg) translate(0,0)" + this.translateZ, b[e.style
								.transform] = "rotateY(" + this.options.deg + "deg)" + this.translateZ)
					},
					_effectRotateMove: function(a) {
						var b, d;
						"v" == this.options.direction ? (this.direction > 0 ? (b = this.options.deg / this
								.wrapperSize * c.abs(a), d = c.min(-this.options.deg + this.options.deg / (this
									.wrapperSize / 1.2) * c.abs(a), 0), a = 100 + 100 / this.wrapperSize * a) : (
								b = this.options.deg - this.options.deg / this.wrapperSize * c.abs(a), d = c.min(
									-this.options.deg / (this.wrapperSize / 1.2) * c.abs(a), 0), a = 100 / this
								.wrapperSize * a), this.cards[this.cardToMove].style[e.style.transform] =
							"rotateX(" + d + "deg) translate(0," + a + "%)" + this.translateZ, this.cards[this
								.cardToStay].style[e.style.transform] = "rotateX(" + b + "deg)" + this.translateZ
							) : (this.direction > 0 ? (b = -this.options.deg / this.wrapperSize * c.abs(a), d = c
								.min(-this.options.deg + this.options.deg / (this.wrapperSize / 1.2) * c.abs(a),
									0), a = -100 - 100 / this.wrapperSize * a) : (b = c.min(-this.options.deg +
									this.options.deg / (this.wrapperSize / 1.2) * c.abs(a), 0), d = -this.options
								.deg / this.wrapperSize * c.abs(a), a = -100 / this.wrapperSize * a), this.cards[
								this.cardToMove].style[e.style.transform] = "rotateY(" + d + "deg) translate(" +
							a + "%,0)" + this.translateZ, this.cards[this.cardToStay].style[e.style.transform] =
							"rotateY(" + -b + "deg)" + this.translateZ)
					},
					_effectRotateClose: function() {
						var a = this.cards[this.cardToMove],
							b = this.cards[this.cardToStay];
						this.initiated = 0, this.disable(), a.style[e.style.transitionDuration] = this.options
							.duration + "s", b.style[e.style.transitionDuration] = this.options.duration + "s", this
							.direction > 0 ? "v" == this.options.direction ? (a.style[e.style.transform] =
								"rotateX(0deg) translate(0,0)" + this.translateZ, b.style[e.style.transform] =
								"rotateX(" + this.options.deg + "deg)" + this.translateZ) : (a.style[e.style
								.transform] = "rotateY(0deg) translate(0,0)" + this.translateZ, b.style[e.style
								.transform] = "rotateY(" + this.options.deg + "deg)" + this.translateZ) : "v" == this
							.options.direction ? (a.style[e.style.transform] = "rotateX(-" + this.options.deg +
								"deg) translate(0,100%)" + this.translateZ, b.style[e.style.transform] =
								"rotateX(0deg)" + this.translateZ) : (a.style[e.style.transform] = "rotateY(-" + this
								.options.deg + "deg) translate(-100%,0)" + this.translateZ, b.style[e.style
									.transform] = "rotateY(0deg)" + this.translateZ), e.addEvent(a, "transitionend",
								this), e.addEvent(a, "webkitTransitionEnd", this), e.addEvent(a, "oTransitionEnd",
								this), e.addEvent(a, "MSTransitionEnd", this)
					},
					_effectZoomInit: function() {
						this.direction < 0 ? (this.cardToMove = this.currCard, this.cardToStay = this.prevCard) : (
							this.cardToMove = this.nextCard, this.cardToStay = this.currCard);
						var a = this.cards[this.cardToStay].style,
							b = this.cards[this.cardToMove].style;
						this.direction < 0 ? (a[e.style.transform] = "translate(0,0) scale(0.5)" + this.translateZ, a
							.opacity = "0") : (b[e.style.transform] = "translate(0,0) scale(2)" + this
							.translateZ, b.opacity = "0")
					},
					_effectZoomEnd: function() {
						var a = this.cards[this.cardToMove].style,
							b = this.cards[this.cardToStay].style;
						a[e.style.transitionDuration] = this.options.duration + "s", b[e.style.transitionDuration] =
							this.options.duration + "s", this.direction > 0 ? (a[e.style.transform] = "scale(2)" +
								this.translateZ, a.opacity = "0", b[e.style.transform] = "scale(1)" + this
								.translateZ, b.opacity = "1") : (a[e.style.transform] = "scale(1)" + this.translateZ,
								a.opacity = "1", b[e.style.transform] = "scale(.5)" + this.translateZ)
					},
					_effectZoomMove: function(a) {
						var b, d, f;
						f = c.min(1 / this.wrapperSize * c.abs(a) * 1.5, 1), this.direction > 0 ? (b = 1 - .5 / this
							.wrapperSize * c.abs(a), d = 2 - 2 / this.wrapperSize * c.abs(a), this.cards[this
								.cardToMove].style[e.style.transform] = "scale(" + d + ")" + this.translateZ,
							this.cards[this.cardToMove].style.opacity = f, this.cards[this.cardToStay].style[e
								.style.transform] = "scale(" + b + ")" + this.translateZ, this.cards[this
								.cardToStay].style.opacity = 1 - f) : (b = .5 + .5 / this.wrapperSize * c.abs(a),
							d = 1 + 1 / this.wrapperSize * c.abs(a), this.cards[this.cardToMove].style[e.style
								.transform] = "scale(" + d + ")" + this.translateZ, this.cards[this.cardToMove]
							.style.opacity = 1 - f, this.cards[this.cardToStay].style[e.style.transform] =
							"scale(" + b + ")" + this.translateZ, this.cards[this.cardToStay].style.opacity = f)
					},
					_effectZoomClose: function() {
						var a = this.cards[this.cardToMove],
							b = this.cards[this.cardToStay];
						this.initiated = 0, this.disable(), a.style[e.style.transitionDuration] = this.options
							.duration + "s", b.style[e.style.transitionDuration] = this.options.duration + "s", this
							.direction > 0 ? (a.style[e.style.transform] = "scale(1)" + this.translateZ, a.style
								.opacity = "1", b.style[e.style.transform] = "scale(.5)") : (a.style[e.style
								.transform] = "scale(2)" + this.translateZ, a.style.opacity = "0", b.style[e
								.style.transform] = "scale(1)", b.style.opacity = "1"), e.addEvent(a,
								"transitionend", this), e.addEvent(a, "webkitTransitionEnd", this), e.addEvent(a,
								"oTransitionEnd", this), e.addEvent(a, "MSTransitionEnd", this)
					},
					_effectSlideInit: function() {
						this.direction < 0 ? "v" == this.options.direction ? (this.cardToMove = this.currCard, this
							.cardToStay = this.prevCard) : (this.cardToMove = this.currCard, this.cardToStay =
							this.prevCard) : "v" == this.options.direction ? (this.cardToMove = this.nextCard,
							this.cardToStay = this.currCard) : (this.cardToMove = this.nextCard, this
							.cardToStay = this.currCard);
						var a = this.cards[this.cardToStay].style;
						a[e.style.transform] = "translate(0,0)" + this.translateZ
					},
					_effectSlideEnd: function() {
						var a = this.cards[this.cardToMove].style,
							b = this.cards[this.cardToStay].style;
						a[e.style.transitionDuration] = this.options.duration + "s", b[e.style.transitionDuration] =
							this.options.duration + "s", a[e.style.transform] = this.direction > 0 ? "v" == this
							.options.direction ? "translate(0,100%)" + this.translateZ : "translate(-100%,0)" + this
							.translateZ : "translate(0,0)" + this.translateZ
					},
					_effectSlideMove: function(a) {
						"v" == this.options.direction ? (a = this.direction > 0 ? 100 + 100 / this.wrapperSize * a :
							100 / this.wrapperSize * a, this.cards[this.cardToMove].style[e.style.transform] =
							"translate(0," + a + "%)" + this.translateZ) : (a = this.direction > 0 ? -100 - 100 /
							this.wrapperSize * a : -100 / this.wrapperSize * a, this.cards[this.cardToMove]
							.style[e.style.transform] = "translate(" + a + "%,0)" + this.translateZ)
					},
					_effectSlideClose: function() {
						var a = this.cards[this.cardToMove],
							b = this.cards[this.cardToStay];
						this.initiated = 0, this.disable(), a.style[e.style.transitionDuration] = this.options
							.duration + "s", b.style[e.style.transitionDuration] = this.options.duration + "s", a
							.style[e.style.transform] = this.direction > 0 ? "translate(0,0)" + this.translateZ :
							"v" == this.options.direction ? "translate(0,100%)" + this.translateZ :
							"translate(-100%,0)" + this.translateZ, e.addEvent(a, "transitionend", this), e.addEvent(
								a, "webkitTransitionEnd", this), e.addEvent(a, "oTransitionEnd", this), e.addEvent(a,
								"MSTransitionEnd", this)
					}
				}, d
			}(window, document, Math);
			this.createjs = this.createjs || {},
				function() {
					"use strict";
					var a = createjs.PreloadJS = createjs.PreloadJS || {};
					a.version = "0.4.1", a.buildDate = "Tue, 04 Mar 2014 23:44:08 GMT"
				}(), this.createjs = this.createjs || {},
				function() {
					"use strict";
					var a = function(a, b, c) {
							this.initialize(a, b, c)
						},
						b = a.prototype;
					b.type = null, b.target = null, b.currentTarget = null, b.eventPhase = 0, b.bubbles = !1, b.cancelable = !1,
						b.timeStamp = 0, b.defaultPrevented = !1, b.propagationStopped = !1, b.immediatePropagationStopped = !1,
						b.removed = !1, b.initialize = function(a, b, c) {
							this.type = a, this.bubbles = b, this.cancelable = c, this.timeStamp = (new Date).getTime()
						}, b.preventDefault = function() {
							this.defaultPrevented = !0
						}, b.stopPropagation = function() {
							this.propagationStopped = !0
						}, b.stopImmediatePropagation = function() {
							this.immediatePropagationStopped = this.propagationStopped = !0
						}, b.remove = function() {
							this.removed = !0
						}, b.clone = function() {
							return new a(this.type, this.bubbles, this.cancelable)
						}, b.toString = function() {
							return "[Event (type=" + this.type + ")]"
						}, createjs.Event = a
				}(), this.createjs = this.createjs || {},
				function() {
					"use strict";
					var a = function() {},
						b = a.prototype;
					a.initialize = function(a) {
							a.addEventListener = b.addEventListener, a.on = b.on, a.removeEventListener = a.off = b
								.removeEventListener, a.removeAllEventListeners = b.removeAllEventListeners, a.hasEventListener =
								b.hasEventListener, a.dispatchEvent = b.dispatchEvent, a._dispatchEvent = b._dispatchEvent, a
								.willTrigger = b.willTrigger
						}, b._listeners = null, b._captureListeners = null, b.initialize = function() {}, b.addEventListener =
						function(a, b, c) {
							var d;
							d = c ? this._captureListeners = this._captureListeners || {} : this._listeners = this._listeners ||
							{};
							var e = d[a];
							return e && this.removeEventListener(a, b, c), e = d[a], e ? e.push(b) : d[a] = [b], b
						}, b.on = function(a, b, c, d, e, f) {
							return b.handleEvent && (c = c || b, b = b.handleEvent), c = c || this, this.addEventListener(a,
								function(a) {
									b.call(c, a, e), d && a.remove()
								}, f)
						}, b.removeEventListener = function(a, b, c) {
							var d = c ? this._captureListeners : this._listeners;
							if (d) {
								var e = d[a];
								if (e)
									for (var f = 0, g = e.length; g > f; f++)
										if (e[f] == b) {
											1 == g ? delete d[a] : e.splice(f, 1);
											break
										}
							}
						}, b.off = b.removeEventListener, b.removeAllEventListeners = function(a) {
							a ? (this._listeners && delete this._listeners[a], this._captureListeners && delete this
								._captureListeners[a]) : this._listeners = this._captureListeners = null
						}, b.dispatchEvent = function(a, b) {
							if ("string" == typeof a) {
								var c = this._listeners;
								if (!c || !c[a]) return !1;
								a = new createjs.Event(a)
							}
							if (a.target = b || this, a.bubbles && this.parent) {
								for (var d = this, e = [d]; d.parent;) e.push(d = d.parent);
								var f, g = e.length;
								for (f = g - 1; f >= 0 && !a.propagationStopped; f--) e[f]._dispatchEvent(a, 1 + (0 == f));
								for (f = 1; g > f && !a.propagationStopped; f++) e[f]._dispatchEvent(a, 3)
							} else this._dispatchEvent(a, 2);
							return a.defaultPrevented
						}, b.hasEventListener = function(a) {
							var b = this._listeners,
								c = this._captureListeners;
							return !!(b && b[a] || c && c[a])
						}, b.willTrigger = function(a) {
							for (var b = this; b;) {
								if (b.hasEventListener(a)) return !0;
								b = b.parent
							}
							return !1
						}, b.toString = function() {
							return "[EventDispatcher]"
						}, b._dispatchEvent = function(a, b) {
							var c, d = 1 == b ? this._captureListeners : this._listeners;
							if (a && d) {
								var e = d[a.type];
								if (!e || !(c = e.length)) return;
								a.currentTarget = this, a.eventPhase = b, a.removed = !1, e = e.slice();
								for (var f = 0; c > f && !a.immediatePropagationStopped; f++) {
									var g = e[f];
									g.handleEvent ? g.handleEvent(a) : g(a), a.removed && (this.off(a.type, g, 1 == b), a
										.removed = !1)
								}
							}
						}, createjs.EventDispatcher = a
				}(), this.createjs = this.createjs || {},
				function() {
					"use strict";
					createjs.indexOf = function(a, b) {
						for (var c = 0, d = a.length; d > c; c++)
							if (b === a[c]) return c;
						return -1
					}
				}(), this.createjs = this.createjs || {},
				function() {
					"use strict";
					createjs.proxy = function(a, b) {
						var c = Array.prototype.slice.call(arguments, 2);
						return function() {
							return a.apply(b, Array.prototype.slice.call(arguments, 0).concat(c))
						}
					}
				}(), this.createjs = this.createjs || {},
				function() {
					"use strict";
					var a = function() {
						this.init()
					};
					a.prototype = new createjs.EventDispatcher;
					var b = a.prototype,
						c = a;
					c.FILE_PATTERN =
						/^(?:(\w+:)\/{2}(\w+(?:\.\w+)*\/?)|(.{0,2}\/{1}))?([/.]*?(?:[^?]+)?\/)?((?:[^/?]+)\.(\w+))(?:\?(\S+)?)?$/,
						c.PATH_PATTERN = /^(?:(\w+:)\/{2})|(.{0,2}\/{1})?([/.]*?(?:[^?]+)?\/?)?$/, b.loaded = !1, b.canceled = !
						1, b.progress = 0, b._item = null, b.getItem = function() {
							return this._item
						}, b.init = function() {}, b.load = function() {}, b.close = function() {}, b._sendLoadStart =
					function() {
							this._isCanceled() || this.dispatchEvent("loadstart")
						}, b._sendProgress = function(a) {
							if (!this._isCanceled()) {
								var b = null;
								"number" == typeof a ? (this.progress = a, b = new createjs.Event("progress"), b.loaded = this
										.progress, b.total = 1) : (b = a, this.progress = a.loaded / a.total, (isNaN(this
										.progress) || 1 / 0 == this.progress) && (this.progress = 0)), b.progress = this
									.progress, this.hasEventListener("progress") && this.dispatchEvent(b)
							}
						}, b._sendComplete = function() {
							this._isCanceled() || this.dispatchEvent("complete")
						}, b._sendError = function(a) {
							!this._isCanceled() && this.hasEventListener("error") && (null == a && (a = new createjs.Event(
								"error")), this.dispatchEvent(a))
						}, b._isCanceled = function() {
							return null == window.createjs || this.canceled ? !0 : !1
						}, b._parseURI = function(a) {
							return a ? a.match(c.FILE_PATTERN) : null
						}, b._parsePath = function(a) {
							return a ? a.match(c.PATH_PATTERN) : null
						}, b._formatQueryString = function(a, b) {
							if (null == a) throw new Error("You must specify data.");
							var c = [];
							for (var d in a) c.push(d + "=" + escape(a[d]));
							return b && (c = c.concat(b)), c.join("&")
						}, b.buildPath = function(a, b) {
							if (null == b) return a;
							var c = [],
								d = a.indexOf("?");
							if (-1 != d) {
								var e = a.slice(d + 1);
								c = c.concat(e.split("&"))
							}
							return -1 != d ? a.slice(0, d) + "?" + this._formatQueryString(b, c) : a + "?" + this
								._formatQueryString(b, c)
						}, b._isCrossDomain = function(a) {
							var b = document.createElement("a");
							b.href = a.src;
							var c = document.createElement("a");
							c.href = location.href;
							var d = "" != b.hostname && (b.port != c.port || b.protocol != c.protocol || b.hostname != c
								.hostname);
							return d
						}, b._isLocal = function(a) {
							var b = document.createElement("a");
							return b.href = a.src, "" == b.hostname && "file:" == b.protocol
						}, b.toString = function() {
							return "[PreloadJS AbstractLoader]"
						}, createjs.AbstractLoader = a
				}(), this.createjs = this.createjs || {},
				function() {
					"use strict";
					var a = function(a, b, c) {
							this.init(a, b, c)
						},
						b = a.prototype = new createjs.AbstractLoader,
						c = a;
					c.loadTimeout = 8e3, c.LOAD_TIMEOUT = 0, c.BINARY = "binary", c.CSS = "css", c.IMAGE = "image", c
						.JAVASCRIPT = "javascript", c.JSON = "json", c.JSONP = "jsonp", c.MANIFEST = "manifest", c.SOUND =
						"sound", c.SVG = "svg", c.TEXT = "text", c.XML = "xml", c.POST = "POST", c.GET = "GET", b._basePath =
						null, b._crossOrigin = "", b.useXHR = !0, b.stopOnError = !1, b.maintainScriptOrder = !0, b.next = null,
						b._typeCallbacks = null, b._extensionCallbacks = null, b._loadStartWasDispatched = !1, b
						._maxConnections = 1, b._currentlyLoadingScript = null, b._currentLoads = null, b._loadQueue = null, b
						._loadQueueBackup = null, b._loadItemsById = null, b._loadItemsBySrc = null, b._loadedResults = null, b
						._loadedRawResults = null, b._numItems = 0, b._numItemsLoaded = 0, b._scriptOrder = null, b
						._loadedScripts = null, b.init = function(a, b, c) {
							this._numItems = this._numItemsLoaded = 0, this._paused = !1, this._loadStartWasDispatched = !1, this
								._currentLoads = [], this._loadQueue = [], this._loadQueueBackup = [], this._scriptOrder = [],
								this._loadedScripts = [], this._loadItemsById = {}, this._loadItemsBySrc = {}, this
								._loadedResults = {}, this._loadedRawResults = {}, this._typeCallbacks = {}, this
								._extensionCallbacks = {}, this._basePath = b, this.setUseXHR(a), this._crossOrigin = c === !0 ?
								"Anonymous" : c === !1 || null == c ? "" : c
						}, b.setUseXHR = function(a) {
							return this.useXHR = 0 != a && null != window.XMLHttpRequest, this.useXHR
						}, b.removeAll = function() {
							this.remove()
						}, b.remove = function(a) {
							var b = null;
							if (!a || a instanceof Array) {
								if (a) b = a;
								else if (arguments.length > 0) return
							} else b = [a];
							var c = !1;
							if (b) {
								for (; b.length;) {
									var d = b.pop(),
										e = this.getResult(d);
									for (f = this._loadQueue.length - 1; f >= 0; f--)
										if (g = this._loadQueue[f].getItem(), g.id == d || g.src == d) {
											this._loadQueue.splice(f, 1)[0].cancel();
											break
										} for (f = this._loadQueueBackup.length - 1; f >= 0; f--)
										if (g = this._loadQueueBackup[f].getItem(), g.id == d || g.src == d) {
											this._loadQueueBackup.splice(f, 1)[0].cancel();
											break
										} if (e) delete this._loadItemsById[e.id], delete this._loadItemsBySrc[e.src], this
										._disposeItem(e);
									else
										for (var f = this._currentLoads.length - 1; f >= 0; f--) {
											var g = this._currentLoads[f].getItem();
											if (g.id == d || g.src == d) {
												this._currentLoads.splice(f, 1)[0].cancel(), c = !0;
												break
											}
										}
								}
								c && this._loadNext()
							} else {
								this.close();
								for (var h in this._loadItemsById) this._disposeItem(this._loadItemsById[h]);
								this.init(this.useXHR)
							}
						}, b.reset = function() {
							this.close();
							for (var a in this._loadItemsById) this._disposeItem(this._loadItemsById[a]);
							for (var b = [], c = 0, d = this._loadQueueBackup.length; d > c; c++) b.push(this._loadQueueBackup[c]
								.getItem());
							this.loadManifest(b, !1)
						}, c.isBinary = function(a) {
							switch (a) {
								case createjs.LoadQueue.IMAGE:
								case createjs.LoadQueue.BINARY:
									return !0;
								default:
									return !1
							}
						}, c.isText = function(a) {
							switch (a) {
								case createjs.LoadQueue.TEXT:
								case createjs.LoadQueue.JSON:
								case createjs.LoadQueue.MANIFEST:
								case createjs.LoadQueue.XML:
								case createjs.LoadQueue.HTML:
								case createjs.LoadQueue.CSS:
								case createjs.LoadQueue.SVG:
								case createjs.LoadQueue.JAVASCRIPT:
									return !0;
								default:
									return !1
							}
						}, b.installPlugin = function(a) {
							if (null != a && null != a.getPreloadHandlers) {
								var b = a.getPreloadHandlers();
								if (b.scope = a, null != b.types)
									for (var c = 0, d = b.types.length; d > c; c++) this._typeCallbacks[b.types[c]] = b;
								if (null != b.extensions)
									for (c = 0, d = b.extensions.length; d > c; c++) this._extensionCallbacks[b.extensions[c]] =
										b
							}
						}, b.setMaxConnections = function(a) {
							this._maxConnections = a, !this._paused && this._loadQueue.length > 0 && this._loadNext()
						}, b.loadFile = function(a, b, c) {
							if (null == a) {
								var d = new createjs.Event("error");
								return d.text = "PRELOAD_NO_FILE", void this._sendError(d)
							}
							this._addItem(a, null, c), this.setPaused(b !== !1 ? !1 : !0)
						}, b.loadManifest = function(a, b, d) {
							var e = null,
								f = null;
							if (a instanceof Array) {
								if (0 == a.length) {
									var g = new createjs.Event("error");
									return g.text = "PRELOAD_MANIFEST_EMPTY", void this._sendError(g)
								}
								e = a
							} else if ("string" == typeof a) e = [{
								src: a,
								type: c.MANIFEST
							}];
							else {
								if ("object" != typeof a) {
									var g = new createjs.Event("error");
									return g.text = "PRELOAD_MANIFEST_NULL", void this._sendError(g)
								}
								if (void 0 !== a.src) {
									if (null == a.type) a.type = c.MANIFEST;
									else if (a.type != c.MANIFEST) {
										var g = new createjs.Event("error");
										g.text = "PRELOAD_MANIFEST_ERROR", this._sendError(g)
									}
									e = [a]
								} else void 0 !== a.manifest && (e = a.manifest, f = a.path)
							}
							for (var h = 0, i = e.length; i > h; h++) this._addItem(e[h], f, d);
							this.setPaused(b !== !1 ? !1 : !0)
						}, b.load = function() {
							this.setPaused(!1)
						}, b.getItem = function(a) {
							return this._loadItemsById[a] || this._loadItemsBySrc[a]
						}, b.getResult = function(a, b) {
							var c = this._loadItemsById[a] || this._loadItemsBySrc[a];
							if (null == c) return null;
							var d = c.id;
							return b && this._loadedRawResults[d] ? this._loadedRawResults[d] : this._loadedResults[d]
						}, b.setPaused = function(a) {
							this._paused = a, this._paused || this._loadNext()
						}, b.close = function() {
							for (; this._currentLoads.length;) this._currentLoads.pop().cancel();
							this._scriptOrder.length = 0, this._loadedScripts.length = 0, this.loadStartWasDispatched = !1
						}, b._addItem = function(a, b, c) {
							var d = this._createLoadItem(a, b, c);
							if (null != d) {
								var e = this._createLoader(d);
								null != e && (this._loadQueue.push(e), this._loadQueueBackup.push(e), this._numItems++, this
									._updateProgress(), this.maintainScriptOrder && d.type == createjs.LoadQueue
									.JAVASCRIPT && e instanceof createjs.XHRLoader && (this._scriptOrder.push(d), this
										._loadedScripts.push(null)))
							}
						}, b._createLoadItem = function(a, b, c) {
							var d = null;
							switch (typeof a) {
								case "string":
									d = {
										src: a
									};
									break;
								case "object":
									d = window.HTMLAudioElement && a instanceof window.HTMLAudioElement ? {
										tag: a,
										src: d.tag.src,
										type: createjs.LoadQueue.SOUND
									} : a;
									break;
								default:
									return null
							}
							var e = this._parseURI(d.src);
							null != e && (d.ext = e[6]), null == d.type && (d.type = this._getTypeByExtension(d.ext));
							var f = "",
								g = c || this._basePath,
								h = d.src;
							if (e && null == e[1] && null == e[3])
								if (b) {
									f = b;
									var i = this._parsePath(b);
									h = b + h, null != g && i && null == i[1] && null == i[2] && (f = g + f)
								} else null != g && (f = g);
							if (d.src = f + d.src, d.path = f, (d.type == createjs.LoadQueue.JSON || d.type == createjs.LoadQueue
									.MANIFEST) && (d._loadAsJSONP = null != d.callback), d.type == createjs.LoadQueue.JSONP &&
								null == d.callback) throw new Error("callback is required for loading JSONP requests.");
							(void 0 === d.tag || null === d.tag) && (d.tag = this._createTag(d)), (void 0 === d.id || null === d
								.id || "" === d.id) && (d.id = h);
							var j = this._typeCallbacks[d.type] || this._extensionCallbacks[d.ext];
							if (j) {
								var k = j.callback.call(j.scope, d.src, d.type, d.id, d.data, f, this);
								if (k === !1) return null;
								k === !0 || (null != k.src && (d.src = k.src), null != k.id && (d.id = k.id), null != k.tag && (d
										.tag = k.tag), null != k.completeHandler && (d.completeHandler = k.completeHandler),
									k.type && (d.type = k.type), e = this._parseURI(d.src), null != e && null != e[6] && (d
										.ext = e[6].toLowerCase()))
							}
							return this._loadItemsById[d.id] = d, this._loadItemsBySrc[d.src] = d, d
						}, b._createLoader = function(a) {
							var b = this.useXHR;
							switch (a.type) {
								case createjs.LoadQueue.JSON:
								case createjs.LoadQueue.MANIFEST:
									b = !a._loadAsJSONP;
									break;
								case createjs.LoadQueue.XML:
								case createjs.LoadQueue.TEXT:
									b = !0;
									break;
								case createjs.LoadQueue.SOUND:
								case createjs.LoadQueue.JSONP:
									b = !1;
									break;
								case null:
									return null
							}
							return b ? new createjs.XHRLoader(a, this._crossOrigin) : new createjs.TagLoader(a)
						}, b._loadNext = function() {
							if (!this._paused) {
								this._loadStartWasDispatched || (this._sendLoadStart(), this._loadStartWasDispatched = !0), this
									._numItems == this._numItemsLoaded ? (this.loaded = !0, this._sendComplete(), this.next &&
										this.next.load && this.next.load()) : this.loaded = !1;
								for (var a = 0; a < this._loadQueue.length && !(this._currentLoads.length >= this
										._maxConnections); a++) {
									var b = this._loadQueue[a];
									if (this.maintainScriptOrder && b instanceof createjs.TagLoader && b.getItem().type ==
										createjs.LoadQueue.JAVASCRIPT) {
										if (this._currentlyLoadingScript) continue;
										this._currentlyLoadingScript = !0
									}
									this._loadQueue.splice(a, 1), a--, this._loadItem(b)
								}
							}
						}, b._loadItem = function(a) {
							a.on("progress", this._handleProgress, this), a.on("complete", this._handleFileComplete, this), a.on(
								"error", this._handleFileError, this), this._currentLoads.push(a), this._sendFileStart(a
								.getItem()), a.load()
						}, b._handleFileError = function(a) {
							var b = a.target;
							this._numItemsLoaded++, this._updateProgress();
							var c = new createjs.Event("error");
							c.text = "FILE_LOAD_ERROR", c.item = b.getItem(), this._sendError(c), this.stopOnError || (this
								._removeLoadItem(b), this._loadNext())
						}, b._handleFileComplete = function(a) {
							var b = a.target,
								c = b.getItem();
							if (this._loadedResults[c.id] = b.getResult(), b instanceof createjs.XHRLoader && (this
									._loadedRawResults[c.id] = b.getResult(!0)), this._removeLoadItem(b), this
								.maintainScriptOrder && c.type == createjs.LoadQueue.JAVASCRIPT) {
								if (!(b instanceof createjs.TagLoader)) return this._loadedScripts[createjs.indexOf(this
									._scriptOrder, c)] = c, void this._checkScriptLoadOrder(b);
								this._currentlyLoadingScript = !1
							}
							if (delete c._loadAsJSONP, c.type == createjs.LoadQueue.MANIFEST) {
								var d = b.getResult();
								null != d && void 0 !== d.manifest && this.loadManifest(d, !0)
							}
							this._processFinishedLoad(c, b)
						}, b._processFinishedLoad = function(a, b) {
							this._numItemsLoaded++, this._updateProgress(), this._sendFileComplete(a, b), this._loadNext()
						}, b._checkScriptLoadOrder = function() {
							for (var a = this._loadedScripts.length, b = 0; a > b; b++) {
								var c = this._loadedScripts[b];
								if (null === c) break;
								if (c !== !0) {
									var d = this._loadedResults[c.id];
									(document.body || document.getElementsByTagName("body")[0]).appendChild(d), this
										._processFinishedLoad(c), this._loadedScripts[b] = !0
								}
							}
						}, b._removeLoadItem = function(a) {
							for (var b = this._currentLoads.length, c = 0; b > c; c++)
								if (this._currentLoads[c] == a) {
									this._currentLoads.splice(c, 1);
									break
								}
						}, b._handleProgress = function(a) {
							var b = a.target;
							this._sendFileProgress(b.getItem(), b.progress), this._updateProgress()
						}, b._updateProgress = function() {
							var a = this._numItemsLoaded / this._numItems,
								b = this._numItems - this._numItemsLoaded;
							if (b > 0) {
								for (var c = 0, d = 0, e = this._currentLoads.length; e > d; d++) c += this._currentLoads[d]
									.progress;
								a += c / b * (b / this._numItems)
							}
							this._sendProgress(a)
						}, b._disposeItem = function(a) {
							delete this._loadedResults[a.id], delete this._loadedRawResults[a.id], delete this._loadItemsById[a
								.id], delete this._loadItemsBySrc[a.src]
						}, b._createTag = function(a) {
							var b = null;
							switch (a.type) {
								case createjs.LoadQueue.IMAGE:
									return b = document.createElement("img"), "" == this._crossOrigin || this._isLocal(a) || (b
										.crossOrigin = this._crossOrigin), b;
								case createjs.LoadQueue.SOUND:
									return b = document.createElement("audio"), b.autoplay = !1, b;
								case createjs.LoadQueue.JSON:
								case createjs.LoadQueue.JSONP:
								case createjs.LoadQueue.JAVASCRIPT:
								case createjs.LoadQueue.MANIFEST:
									return b = document.createElement("script"), b.type = "text/javascript", b;
								case createjs.LoadQueue.CSS:
									return b = document.createElement(this.useXHR ? "style" : "link"), b.rel = "stylesheet", b
										.type = "text/css", b;
								case createjs.LoadQueue.SVG:
									return this.useXHR ? b = document.createElement("svg") : (b = document.createElement(
										"object"), b.type = "image/svg+xml"), b
							}
							return null
						}, b._getTypeByExtension = function(a) {
							if (null == a) return createjs.LoadQueue.TEXT;
							switch (a.toLowerCase()) {
								case "jpeg":
								case "jpg":
								case "gif":
								case "png":
								case "webp":
								case "bmp":
									return createjs.LoadQueue.IMAGE;
								case "ogg":
								case "mp3":
								case "wav":
									return createjs.LoadQueue.SOUND;
								case "json":
									return createjs.LoadQueue.JSON;
								case "xml":
									return createjs.LoadQueue.XML;
								case "css":
									return createjs.LoadQueue.CSS;
								case "js":
									return createjs.LoadQueue.JAVASCRIPT;
								case "svg":
									return createjs.LoadQueue.SVG;
								default:
									return createjs.LoadQueue.TEXT
							}
						}, b._sendFileProgress = function(a, b) {
							if (this._isCanceled()) return void this._cleanUp();
							if (this.hasEventListener("fileprogress")) {
								var c = new createjs.Event("fileprogress");
								c.progress = b, c.loaded = b, c.total = 1, c.item = a, this.dispatchEvent(c)
							}
						}, b._sendFileComplete = function(a, b) {
							if (!this._isCanceled()) {
								var c = new createjs.Event("fileload");
								c.loader = b, c.item = a, c.result = this._loadedResults[a.id], c.rawResult = this
									._loadedRawResults[a.id], a.completeHandler && a.completeHandler(c), this.hasEventListener(
										"fileload") && this.dispatchEvent(c)
							}
						}, b._sendFileStart = function(a) {
							var b = new createjs.Event("filestart");
							b.item = a, this.hasEventListener("filestart") && this.dispatchEvent(b)
						}, b.toString = function() {
							return "[PreloadJS LoadQueue]"
						}, createjs.LoadQueue = a;
					var d = function() {};
					d.init = function() {
						var a = navigator.userAgent;
						d.isFirefox = a.indexOf("Firefox") > -1, d.isOpera = null != window.opera, d.isChrome = a.indexOf(
							"Chrome") > -1, d.isIOS = a.indexOf("iPod") > -1 || a.indexOf("iPhone") > -1 || a.indexOf(
							"iPad") > -1
					}, d.init(), createjs.LoadQueue.BrowserDetect = d
				}(), this.createjs = this.createjs || {},
				function() {
					"use strict";
					var a = function(a) {
							this.init(a)
						},
						b = a.prototype = new createjs.AbstractLoader;
					b._loadTimeout = null, b._tagCompleteProxy = null, b._isAudio = !1, b._tag = null, b._jsonResult = null, b
						.init = function(a) {
							this._item = a, this._tag = a.tag, this._isAudio = window.HTMLAudioElement && a.tag instanceof window
								.HTMLAudioElement, this._tagCompleteProxy = createjs.proxy(this._handleLoad, this)
						}, b.getResult = function() {
							return this._item.type == createjs.LoadQueue.JSONP || this._item.type == createjs.LoadQueue
								.MANIFEST ? this._jsonResult : this._tag
						}, b.cancel = function() {
							this.canceled = !0, this._clean()
						}, b.load = function() {
							var a = this._item,
								b = this._tag;
							clearTimeout(this._loadTimeout);
							var c = createjs.LoadQueue.LOAD_TIMEOUT;
							0 == c && (c = createjs.LoadQueue.loadTimeout), this._loadTimeout = setTimeout(createjs.proxy(this
									._handleTimeout, this), c), this._isAudio && (b.src = null, b.preload = "auto"), b.onerror =
								createjs.proxy(this._handleError, this), this._isAudio ? (b.onstalled = createjs.proxy(this
									._handleStalled, this), b.addEventListener("canplaythrough", this._tagCompleteProxy, !1)) : (
									b.onload = createjs.proxy(this._handleLoad, this), b.onreadystatechange = createjs.proxy(this
										._handleReadyStateChange, this));
							var d = this.buildPath(a.src, a.values);
							switch (a.type) {
								case createjs.LoadQueue.CSS:
									b.href = d;
									break;
								case createjs.LoadQueue.SVG:
									b.data = d;
									break;
								default:
									b.src = d
							}
							if (a.type == createjs.LoadQueue.JSONP || a.type == createjs.LoadQueue.JSON || a.type == createjs
								.LoadQueue.MANIFEST) {
								if (null == a.callback) throw new Error("callback is required for loading JSONP requests.");
								if (null != window[a.callback]) throw new Error('JSONP callback "' + a.callback +
									'" already exists on window. You need to specify a different callback. Or re-name the current one.'
									);
								window[a.callback] = createjs.proxy(this._handleJSONPLoad, this)
							}(a.type == createjs.LoadQueue.SVG || a.type == createjs.LoadQueue.JSONP || a.type == createjs
								.LoadQueue.JSON || a.type == createjs.LoadQueue.MANIFEST || a.type == createjs.LoadQueue
								.JAVASCRIPT || a.type == createjs.LoadQueue.CSS) && (this._startTagVisibility = b.style
								.visibility, b.style.visibility = "hidden", (document.body || document.getElementsByTagName(
									"body")[0]).appendChild(b)), null != b.load && b.load()
						}, b._handleJSONPLoad = function(a) {
							this._jsonResult = a
						}, b._handleTimeout = function() {
							this._clean();
							var a = new createjs.Event("error");
							a.text = "PRELOAD_TIMEOUT", this._sendError(a)
						}, b._handleStalled = function() {}, b._handleError = function() {
							this._clean();
							var a = new createjs.Event("error");
							this._sendError(a)
						}, b._handleReadyStateChange = function() {
							clearTimeout(this._loadTimeout);
							var a = this.getItem().tag;
							("loaded" == a.readyState || "complete" == a.readyState) && this._handleLoad()
						}, b._handleLoad = function() {
							if (!this._isCanceled()) {
								var a = this.getItem(),
									b = a.tag;
								if (!(this.loaded || this._isAudio && 4 !== b.readyState)) {
									switch (this.loaded = !0, a.type) {
										case createjs.LoadQueue.SVG:
										case createjs.LoadQueue.JSON:
										case createjs.LoadQueue.JSONP:
										case createjs.LoadQueue.MANIFEST:
										case createjs.LoadQueue.CSS:
											b.style.visibility = this._startTagVisibility, (document.body || document
												.getElementsByTagName("body")[0]).removeChild(b)
									}
									this._clean(), this._sendComplete()
								}
							}
						}, b._clean = function() {
							clearTimeout(this._loadTimeout);
							var a = this.getItem(),
								b = a.tag;
							null != b && (b.onload = null, b.removeEventListener && b.removeEventListener("canplaythrough", this
									._tagCompleteProxy, !1), b.onstalled = null, b.onprogress = null, b.onerror = null,
								null != b.parentNode && a.type == createjs.LoadQueue.SVG && a.type == createjs.LoadQueue
								.JSON && a.type == createjs.LoadQueue.MANIFEST && a.type == createjs.LoadQueue.CSS && a
								.type == createjs.LoadQueue.JSONP && b.parentNode.removeChild(b));
							var a = this.getItem();
							(a.type == createjs.LoadQueue.JSONP || a.type == createjs.LoadQueue.MANIFEST) && (window[a
								.callback] = null)
						}, b.toString = function() {
							return "[PreloadJS TagLoader]"
						}, createjs.TagLoader = a
				}(), this.createjs = this.createjs || {},
				function() {
					"use strict";
					var a = function(a, b) {
							this.init(a, b)
						},
						b = a.prototype = new createjs.AbstractLoader;
					b._request = null, b._loadTimeout = null, b._xhrLevel = 1, b._response = null, b._rawResponse = null, b
						._crossOrigin = "", b.init = function(a, b) {
							this._item = a, this._crossOrigin = b, !this._createXHR(a)
						}, b.getResult = function(a) {
							return a && this._rawResponse ? this._rawResponse : this._response
						}, b.cancel = function() {
							this.canceled = !0, this._clean(), this._request.abort()
						}, b.load = function() {
							if (null == this._request) return void this._handleError();
							if (this._request.onloadstart = createjs.proxy(this._handleLoadStart, this), this._request
								.onprogress = createjs.proxy(this._handleProgress, this), this._request.onabort = createjs.proxy(
									this._handleAbort, this), this._request.onerror = createjs.proxy(this._handleError, this),
								this._request.ontimeout = createjs.proxy(this._handleTimeout, this), 1 == this._xhrLevel) {
								var a = createjs.LoadQueue.LOAD_TIMEOUT;
								if (0 == a) a = createjs.LoadQueue.loadTimeout;
								else try {
									console.warn(
										"LoadQueue.LOAD_TIMEOUT has been deprecated in favor of LoadQueue.loadTimeout")
								} catch (b) {}
								this._loadTimeout = setTimeout(createjs.proxy(this._handleTimeout, this), a)
							}
							this._request.onload = createjs.proxy(this._handleLoad, this), this._request.onreadystatechange =
								createjs.proxy(this._handleReadyStateChange, this);
							try {
								this._item.values && this._item.method != createjs.LoadQueue.GET ? this._item.method == createjs
									.LoadQueue.POST && this._request.send(this._formatQueryString(this._item.values)) : this
									._request.send()
							} catch (c) {
								var d = new createjs.Event("error");
								d.error = c, this._sendError(d)
							}
						}, b.getAllResponseHeaders = function() {
							return this._request.getAllResponseHeaders instanceof Function ? this._request
							.getAllResponseHeaders() : null
						}, b.getResponseHeader = function(a) {
							return this._request.getResponseHeader instanceof Function ? this._request.getResponseHeader(a) :
								null
						}, b._handleProgress = function(a) {
							if (a && !(a.loaded > 0 && 0 == a.total)) {
								var b = new createjs.Event("progress");
								b.loaded = a.loaded, b.total = a.total, this._sendProgress(b)
							}
						}, b._handleLoadStart = function() {
							clearTimeout(this._loadTimeout), this._sendLoadStart()
						}, b._handleAbort = function() {
							this._clean();
							var a = new createjs.Event("error");
							a.text = "XHR_ABORTED", this._sendError(a)
						}, b._handleError = function() {
							this._clean();
							var a = new createjs.Event("error");
							this._sendError(a)
						}, b._handleReadyStateChange = function() {
							4 == this._request.readyState && this._handleLoad()
						}, b._handleLoad = function() {
							if (!this.loaded) {
								if (this.loaded = !0, !this._checkError()) return void this._handleError();
								this._response = this._getResponse(), this._clean();
								var a = this._generateTag();
								a && this._sendComplete()
							}
						}, b._handleTimeout = function(a) {
							this._clean();
							var b = new createjs.Event("error");
							b.text = "PRELOAD_TIMEOUT", this._sendError(a)
						}, b._checkError = function() {
							var a = parseInt(this._request.status);
							switch (a) {
								case 404:
								case 0:
									return !1
							}
							return !0
						}, b._getResponse = function() {
							if (null != this._response) return this._response;
							if (null != this._request.response) return this._request.response;
							try {
								if (null != this._request.responseText) return this._request.responseText
							} catch (a) {}
							try {
								if (null != this._request.responseXML) return this._request.responseXML
							} catch (a) {}
							return null
						}, b._createXHR = function(a) {
							var b = this._isCrossDomain(a),
								c = null;
							if (b && window.XDomainRequest) c = new XDomainRequest;
							else if (window.XMLHttpRequest) c = new XMLHttpRequest;
							else try {
								c = new ActiveXObject("Msxml2.XMLHTTP.6.0")
							} catch (d) {
								try {
									c = new ActiveXObject("Msxml2.XMLHTTP.3.0")
								} catch (d) {
									try {
										c = new ActiveXObject("Msxml2.XMLHTTP")
									} catch (d) {
										return !1
									}
								}
							}
							createjs.LoadQueue.isText(a.type) && c.overrideMimeType && c.overrideMimeType(
								"text/plain; charset=utf-8"), this._xhrLevel = "string" == typeof c.responseType ? 2 : 1;
							var e = null;
							return e = a.method == createjs.LoadQueue.GET ? this.buildPath(a.src, a.values) : a.src, c.open(a
									.method || createjs.LoadQueue.GET, e, !0), b && c instanceof XMLHttpRequest && 1 == this
								._xhrLevel && c.setRequestHeader("Origin", location.origin), a.values && a.method == createjs
								.LoadQueue.POST && c.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"),
								createjs.LoadQueue.isBinary(a.type) && (c.responseType = "arraybuffer"), this._request = c, !0
						}, b._clean = function() {
							clearTimeout(this._loadTimeout);
							var a = this._request;
							a.onloadstart = null, a.onprogress = null, a.onabort = null, a.onerror = null, a.onload = null, a
								.ontimeout = null, a.onloadend = null, a.onreadystatechange = null
						}, b._generateTag = function() {
							var a = this._item.type,
								b = this._item.tag;
							switch (a) {
								case createjs.LoadQueue.IMAGE:
									return b.onload = createjs.proxy(this._handleTagReady, this), "" != this._crossOrigin && (b
										.crossOrigin = "Anonymous"), b.src = this.buildPath(this._item.src, this._item
										.values), this._rawResponse = this._response, this._response = b, !1;
								case createjs.LoadQueue.JAVASCRIPT:
									return b = document.createElement("script"), b.text = this._response, this._rawResponse =
										this._response, this._response = b, !0;
								case createjs.LoadQueue.CSS:
									var c = document.getElementsByTagName("head")[0];
									if (c.appendChild(b), b.styleSheet) b.styleSheet.cssText = this._response;
									else {
										var d = document.createTextNode(this._response);
										b.appendChild(d)
									}
									return this._rawResponse = this._response, this._response = b, !0;
								case createjs.LoadQueue.XML:
									var e = this._parseXML(this._response, "text/xml");
									return this._rawResponse = this._response, this._response = e, !0;
								case createjs.LoadQueue.SVG:
									var e = this._parseXML(this._response, "image/svg+xml");
									return this._rawResponse = this._response, null != e.documentElement ? (b.appendChild(e
										.documentElement), this._response = b) : this._response = e, !0;
								case createjs.LoadQueue.JSON:
								case createjs.LoadQueue.MANIFEST:
									var f = {};
									try {
										f = JSON.parse(this._response)
									} catch (g) {
										f = g
									}
									return this._rawResponse = this._response, this._response = f, !0
							}
							return !0
						}, b._parseXML = function(a, b) {
							var c = null;
							try {
								if (window.DOMParser) {
									var d = new DOMParser;
									c = d.parseFromString(a, b)
								} else c = new ActiveXObject("Microsoft.XMLDOM"), c.async = !1, c.loadXML(a)
							} catch (e) {}
							return c
						}, b._handleTagReady = function() {
							this._sendComplete()
						}, b.toString = function() {
							return "[PreloadJS XHRLoader]"
						}, createjs.XHRLoader = a
				}(), "object" != typeof JSON && (JSON = {}),
				function() {
					"use strict";

					function f(a) {
						return 10 > a ? "0" + a : a
					}

					function quote(a) {
						return escapable.lastIndex = 0, escapable.test(a) ? '"' + a.replace(escapable, function(a) {
							var b = meta[a];
							return "string" == typeof b ? b : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)
						}) + '"' : '"' + a + '"'
					}

					function str(a, b) {
						var c, d, e, f, g, h = gap,
							i = b[a];
						switch (i && "object" == typeof i && "function" == typeof i.toJSON && (i = i.toJSON(a)), "function" ==
							typeof rep && (i = rep.call(b, a, i)), typeof i) {
							case "string":
								return quote(i);
							case "number":
								return isFinite(i) ? String(i) : "null";
							case "boolean":
							case "null":
								return String(i);
							case "object":
								if (!i) return "null";
								if (gap += indent, g = [], "[object Array]" === Object.prototype.toString.apply(i)) {
									for (f = i.length, c = 0; f > c; c += 1) g[c] = str(c, i) || "null";
									return e = 0 === g.length ? "[]" : gap ? "[\n" + gap + g.join(",\n" + gap) + "\n" + h + "]" :
										"[" + g.join(",") + "]", gap = h, e
								}
								if (rep && "object" == typeof rep)
									for (f = rep.length, c = 0; f > c; c += 1) "string" == typeof rep[c] && (d = rep[c], e = str(
										d, i), e && g.push(quote(d) + (gap ? ": " : ":") + e));
								else
									for (d in i) Object.prototype.hasOwnProperty.call(i, d) && (e = str(d, i), e && g.push(quote(
										d) + (gap ? ": " : ":") + e));
								return e = 0 === g.length ? "{}" : gap ? "{\n" + gap + g.join(",\n" + gap) + "\n" + h + "}" :
									"{" + g.join(",") + "}", gap = h, e
						}
					}
					"function" != typeof Date.prototype.toJSON && (Date.prototype.toJSON = function() {
						return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + f(this.getUTCMonth() + 1) + "-" +
							f(this.getUTCDate()) + "T" + f(this.getUTCHours()) + ":" + f(this.getUTCMinutes()) + ":" + f(
								this.getUTCSeconds()) + "Z" : null
					}, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function() {
						return this.valueOf()
					});
					var cx =
						/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
						escapable =
						/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
						gap, indent, meta = {
							"\b": "\\b",
							"": "\\t",
							"\n": "\\n",
							"\f": "\\f",
							"\r": "\\r",
							'"': '\\"',
							"\\": "\\\\"
						},
						rep;
					"function" != typeof JSON.stringify && (JSON.stringify = function(a, b, c) {
						var d;
						if (gap = "", indent = "", "number" == typeof c)
							for (d = 0; c > d; d += 1) indent += " ";
						else "string" == typeof c && (indent = c);
						if (rep = b, b && "function" != typeof b && ("object" != typeof b || "number" != typeof b
							.length)) throw new Error("JSON.stringify");
						return str("", {
							"": a
						})
					}), "function" != typeof JSON.parse && (JSON.parse = function(text, reviver) {
						function walk(a, b) {
							var c, d, e = a[b];
							if (e && "object" == typeof e)
								for (c in e) Object.prototype.hasOwnProperty.call(e, c) && (d = walk(e, c), void 0 !==
									d ? e[c] = d : delete e[c]);
							return reviver.call(a, b, e)
						}
						var j;
						if (text = String(text), cx.lastIndex = 0, cx.test(text) && (text = text.replace(cx, function(
							a) {
								return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)
							})), /^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(
								/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(
								/(?:^|:|,)(?:\s*\[)+/g, ""))) return j = eval("(" + text + ")"), "function" ==
							typeof reviver ? walk({
								"": j
							}, "") : j;
						throw new SyntaxError("JSON.parse")
					})
				}(),
				function(a) {
					var b, c, d, e, f, g, h = 0,
						i = ["ms", "moz", "webkit", "o"];
					for (b = 0, c = i.length; c > b && !f; ++b) f = a[i[b] + "RequestAnimationFrame"], g = a[i[b] +
						"CancelAnimationFrame"] || a[i[b] + "CancelRequestAnimationFrame"];
					a.requestAnimationFrame = f ? f : function(b) {
						return d = (new Date).getTime(), e = Math.max(0, 16 - (d - h)), h = d + e, a.setTimeout(function() {
							b(d + e)
						}, e)
					}, a.cancelAnimationFrame = g ? g : function(b) {
						a.clearTimeout(b)
					}, a.requestTimeout = function(b, c) {
						function d() {
							var a = (new Date).getTime(),
								h = a - e;
							h >= c ? b.call() : g.value = f(d)
						}
						if (!f) return a.setTimeout(b, c);
						var e = (new Date).getTime(),
							g = new Object;
						return g.value = f(d), g
					}, a.clearRequestTimeout = function(b) {
						g ? g(b.value) : a.clearTimeout(b)
					}, a.requestInterval = function(b, c) {
						function d() {
							var a = (new Date).getTime(),
								h = a - e;
							h >= c && (b.call(), e = (new Date).getTime()), g.value = f(d)
						}
						if (!f) return a.setInterval(b, c);
						var e = (new Date).getTime(),
							g = new Object;
						return g.value = f(d), g
					}, a.clearRequestInterval = function(b) {
						g ? g(b.value) : a.clearInterval(b)
					}
				}(window),
				function() {
					function a(a) {
						var b = location.search.match(new RegExp("[?&]" + a + "=([^&]+)", "i"));
						return null == b || b.length <= 1 ? "" : b[1]
					}

					function b(a) {
						var b, c, d, e, g, h, i;
						for (h = a.length, g = 0, i = ""; h > g;) {
							do b = f[255 & a.charCodeAt(g++)]; while (h > g && -1 == b);
							if (-1 == b) break;
							do c = f[255 & a.charCodeAt(g++)]; while (h > g && -1 == c);
							if (-1 == c) break;
							i += String.fromCharCode(b << 2 | (48 & c) >> 4);
							do {
								if (d = 255 & a.charCodeAt(g++), 61 == d) return i;
								d = f[d]
							} while (h > g && -1 == d);
							if (-1 == d) break;
							i += String.fromCharCode((15 & c) << 4 | (60 & d) >> 2);
							do {
								if (e = 255 & a.charCodeAt(g++), 61 == e) return i;
								e = f[e]
							} while (h > g && -1 == e);
							if (-1 == e) break;
							i += String.fromCharCode((3 & d) << 6 | e)
						}
						return i
					}

					function c(a) {
						var b = new Image,
							c = "http://support.weixin.qq.com/cgi-bin/mmsupport-bin/webgamereport?1=1",
							d = j;
						d.nUrOpState = a, c += "&appid=" + d.sAppID || "0", c += "&usropstate=" + d.nUrOpState || "0", c +=
							"&networktype=" + d.nNetworkType || "0", c += "&device=" + d.sDeivceType || "0", c +=
							"&clientversion=" + d.sClientVersion || "0", c += "&uin=" + d.sUin || "0", c += "&sourcescene=" + d
							.nSourceScene || "0", c += "&appstate=" + d.nAppState || "0", c += "&appversion=" + d.nAppVersion ||
							"0", c += "&assiststate=" + d.nAssistState || "0", c += "&assistversion=" + d.nAssistVersion || "0",
							"http://www.wenzhangku.com/weixin/duxinshu/" + d.nNoticeID || 0, b.src = c
					}
					var d = {
							img_url: "http://ossweb-img.qq.com/images/hero/act/a20140430duxinshu/logo-wx.png",
							img_width: "120",
							img_height: "120",
							link: "http://www.wenzhangku.com/weixin/duxinshu/",
							desc: "反诈测试，敬请期待",
							title: "挑战读心术，瞬间猜出你所想！"
						},
						e = function() {
							WeixinJSBridge.call("hideToolbar"), c(1), document.body.classList.add("env_wx"), WeixinJSBridge.on(
								"menu:share:timeline",
								function() {
									WeixinJSBridge.invoke("shareTimeline", d, function(a) {
										WeixinJSBridge.log(a.err_msg), c(9)
									})
								}), WeixinJSBridge.on("menu:share:weibo", function() {
								WeixinJSBridge.invoke("shareWeibo", {
									content: d.title,
									url: d.link
								}, function(a) {
									WeixinJSBridge.log(a.err_msg)
								})
							}), WeixinJSBridge.on("menu:share:appmessage", function() {
								WeixinJSBridge.invoke("sendAppMessage", d, function(a) {
									c(7), WeixinJSBridge.log(a.err_msg)
								})
							})
						};
					document.addEventListener("WeixinJSBridgeReady", function() {
						e()
					});
					var f = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
							-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53,
							54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
							13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31,
							32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1
						],
						g = a("noticeid") || 200230201;
					if (g) {
						var h = d.link,
							i = h.lastIndexOf("#wechat_redirect");
						d.link = "http://www.wenzhangku.com/weixin/duxinshu/" + "#wechat_redirect"
					}
					var j = {
						sAppID: "wx71a56a23144e6db7",
						nNoticeID: g,
						sUin: b(a("uin")) || "0",
						sDeivceType: a("devicetype") || "0",
						sClientVersion: a("version") || "0",
						nSourceScene: a("sourcescene") || "0",
						nNetworkType: "0",
						nAppState: "0",
						nAppVersion: "0",
						nAssistState: "0",
						nAssistVersion: "0"
					}
				}();
			var heroApp = function() {
				document.addEventListener("touchmove", function(a) {
					a.preventDefault()
				}, !1);
				var a = {
						init: function(a) {
							for (var b = 0, c = this.data.length; c > b; b++) this.data[b].src = a.imgPrefix + this.data[
								b].src
						},
						data: [{
							id: "tplC2",
							idx: 2,
							src: "2.jpg"
						}, {
							id: "tplC3",
							idx: 3,
							src: "3.jpg"
						}, {
							id: "tplC4",
							idx: 4,
							src: "4.jpg"
						}, {
							id: "tplC5",
							idx: 5,
							src: "5.jpg"
						}, {
							id: "tplC6",
							idx: 6,
							src: "6.jpg"
						}, {
							id: "tplC7",
							idx: 7,
							src: "7.jpg"
						}, {
							id: "tplC8",
							idx: 8,
							src: "8.jpg"
						}]
					},
					b = {
						init: function(b) {
							for (var c = 0, d = this.data.length; d > c; c++) this.data[c].src = b.imgPrefix + this.data[
								c].src;
							this.data = this.data.concat(a.data)
						},
						data: [{
							src: "spr.png"
						}, {
							src: "poker1.jpg"
						}, {
							src: "poker2.jpg"
						}]
					},
					c = {
						inst: new createjs.LoadQueue(!0),
						onComplete: function() {
							this.cbk && this.cbk()
						},
						onProgress: function(a) {
							var b = Math.round(100 * a.progress * .999);
							0 == b && (b = 1), this.dom_progress.innerHTML = b + "%"
						},
						onFileLoad: function(a) {
							var b = a.item,
								c = b.type;
							switch (c) {
								case createjs.LoadQueue.IMAGE:
							}
						},
						init: function(a) {
							this.cbk = a, this.inst.on("complete", this.onComplete, this), this.inst.on("progress", this
									.onProgress, this), this.inst.on("fileload", this.onFileLoad, this), this
								.dom_progress = document.getElementById("progress"), this.run()
						},
						run: function() {
							this.inst.loadManifest(b.data)
						}
					},
					d = {
						init: function() {
							this.deck = new CardView("#wrapper", {
								dataset: a.data,
								preventGoBack: !0,
								cycle: !1,
								HWCompositing: !1,
								onUpdateContent: function(a, b, c) {
									d.fillTpl(a, b), e.init(c.page + 1), d.setBodyClass(c.page + 1), d
										.setCardClass(a, b.idx), g.init(c.page + 1)
								},
								onTouchMove: function() {
									return this.direction <= 0 ? document.getElementById("topTip").classList
										.remove("ani-slideup") : document.getElementById("topTip").classList
										.add("ani-slideup"), !0
								}
							})
						},
						fillTpl: function(a, b) {
							a.innerHTML = document.getElementById(b.id).innerHTML
						},
						setBodyClass: function(a) {
							var b = {
								card1: "card2_active",
								card2: "card3_active",
								card3: "card4_active",
								card4: "card5_active",
								card5: "card6_active",
								card6: "card7_active",
								card7: "card8_active"
							};
							for (var c in b) document.body.classList.remove(b[c]);
							document.body.classList.add(b["card" + a])
						},
						setCardClass: function(a, b) {
							var c = {
								card2: "card2",
								card3: "card3",
								card4: "card4",
								card5: "card5",
								card6: "card6",
								card7: "card7",
								card8: "card8"
							};
							for (var d in c) a.classList.remove(c[d]);
							a.classList.add(c["card" + b])
						}
					},
					e = {
						timeout: 3e3,
						timer: {},
						init: function(a) {
							1 === a ? this.start() : this.reset()
						},
						start: function() {
							this.timer = requestTimeout(function() {
								var a = document.getElementById("bubble");
								a && a.classList.add("bubble_on")
							}, this.timeout)
						},
						reset: function() {
							clearRequestTimeout(this.timer)
						}
					},
					f = {
						$el: document.getElementById("tip"),
						$txt: document.getElementById("tipTxt"),
						errTip: "",
						okTip: "",
						init: function(a) {
							this.errTip = a.errTip, this.okTip = a.okTip, this.errTip = this.errTip.replace("$", location
								.href), document.getElementById("btnCloseTip").addEventListener("click", function() {
								f.hide()
							}), document.getElementById("shareTip").addEventListener("click", function() {
								this.classList.add("hide")
							})
						},
						show: function(a) {
							a = a || this.okTip, this.el.classList.remove("hide")
						},
						hide: function() {
							this.$el.classList.add("hide")
						}
					},
					g = {
						supportCopy: function() {
							var a = !1;
							return window.clipboardData && window.clipboardData.setData && (a = !0), a
						},
						init: function(a) {
							7 === a && (document.getElementById("btnCopy").addEventListener("click", function() {
								g.supportCopy() ? (document.body.classList.add("env_copiable"), g.copy(
										location.href)) : f.show(f.errTip), window.pgvSendClick && window
									.pgvSendClick({
										hottag: "hero-a20140430duxinshu.btnCopy"
									})
							}), document.getElementById("btnRetry").addEventListener("click", function() {
								d.deck.goToPage(d.deck.options.startPage), document.body.classList.toggle(
									"poker_toggle"), document.getElementById("topTip").classList.add(
									"ani-slideup"), window.pgvSendClick && window.pgvSendClick({
									hottag: "hero-a20140430duxinshu.btnRetry"
								})
							}), document.getElementById("btnShare").addEventListener("click", function() {
								document.getElementById("shareTip").classList.remove("hide"), window
									.pgvSendClick && window.pgvSendClick({
										hottag: "hero-a20140430duxinshu.btnShare"
									})
							}))
						},
						copy: function(a) {
							try {
								clipboardData.setData("Text", a), f.show()
							} catch (b) {
								f.show(f.errTip)
							}
						}
					};
				return {
					init: function(e) {
						a.init(e), b.init(e), f.init(e), c.init(function() {
							d.init(), document.getElementById("deck0").classList.add("ani-hide")
						}, e)
					}
				}
			}();
		</script>
		<script>
			document.addEventListener('DOMContentLoaded', function(e) {
				heroApp.init({
					imgPrefix: './images/',
					okTip: '复制链接成功,快发给朋友们吧！',
					errTip: '浏览器不支持自动复制！长按下面链接可以手工复制哦！<br/><br/><a href="$">小黄鸭</a>'
				});
			});
			ISDSpeed.hit(2);
			window.addEventListener('load', function() {
				ISDSpeed.hit(3, true).report();
			});
		</script>

		<div style="display:none">

		</div>
	</body>
</html>
